iT邦幫忙

2021 iThome 鐵人賽

DAY 1
0
自我挑戰組

每日攝取一點資料結構和演算法系列 第 1

Day1: 開始學習演算法和資料結構的契機

  • 分享至 

  • xImage
  •  

https://ithelp.ithome.com.tw/upload/images/20210901/20128604mxDLH8hPvi.jpg
近期面試掀起了一波考演算法的風氣,就好像回到大學指考那樣,老師說這題會考一定要記起來,因此掀起了一股leetcode刷題的風潮,甚麼經典考題都要寫過一遍,剛開始試圖想要先理解一些演算法的概念再開始刷題,不過網路上找的資源對於我這個演算法麻瓜並不是這麼的親民,再加上用javaScript實作演算法的文章少之又少,所以就決定直接刷題刷起來!

初期不理解演算法和資料結構也可以刷題刷得很開心,但是到後面就開始卡住了,binaray tree是甚麼? linked list好像是陣列但又好像不是?同樣的題目為甚麼別人的解法執行時間可以少我一半?心裡漸漸浮現了一萬個為甚麼,再加上進期面試有被考到一題"請將排序陣列裡的數字由小到大",我心想這真是太簡單了,準備寫下arr.sort((a, b)=>a-b)的時候,看到題目後面一行小小的字,不能使用sort請用任意一個排序演算法做排序,當下就愣住了,我連排序演算法有哪幾種都不知道,一直以來都很習慣用程式語言提供的現成方法,沒自己造過輪子,於是決定自己應該要來好好了解演算法和資料結構了。

https://ithelp.ithome.com.tw/upload/images/20210901/20128604XCSk8enagx.jpg
目前透過線上教學課程以及看書的方式來學習演算法,非常推薦白話演算法這本書(這不是業配),學演算法最痛苦的就是吸收不了艱澀難懂的理論,這本書拯救了演算法麻瓜,真的把很多概念用很生活化的方式解釋得相當清楚,而且不催眠可以閱讀超過一小時,這非常重要!書中的例子是用python實作,如果不會python語法也沒關係,只要有基本的程式基礎都可以大概理解程式碼的意思。

不過很多演算法概念看的當下可以理解,但是隔幾天再去看就會覺得很陌生(腦海中的橡皮擦),因此督促自己在學習的同時,也要動手寫文章幫助自己吸收,因此這一系列的文章比較會像是我最近學習演算法的筆記,希望接下來的30天我可以跟演算法和平共處。

文章目錄

Day2: 什麼是演算法?— Algorithms
Day3: Big O — 時間複雜度與空間複雜度
Day4: [資料結構] Array —  陣列
Day5: [資料結構] - Map
Day6: [資料結構] -  Set
Day7: [資料結構]Stack —堆疊和Queue— 佇列
Day8: [資料結構]Hash Table - 雜湊表
Day9:[資料結構] Linked-List - 鏈結串列
Day10:[資料結構] Graph - 圖
Day11:[資料結構]Binary Tree - 二元樹
Day12:[資料結構]Binary Tree -  Traversal
Day13:[解題技巧]Two pointers -  雙指針
Day14:[解題技巧]Recursive - 遞迴
Day15:[搜尋演算法]Linear Search - 線性搜尋法
Day16:[搜尋演算法]Binary search - 二分搜尋法
Day17:[排序演算法]Selection Sort - 選擇排序法
Day18:[排序演算法]Selection Sort - 選擇排序法
Day19:[排序演算法]Bubble Sort - 氣泡排序法
Day20:[排序演算法]Selection Sort - 選擇排序法
Day21:[排序演算法]Heap Sort - 堆積排序法
Day22:[排序演算法]Merge sort - 合併排序法
Day23:Greedy Algorithm - 貪婪演算法
Day24:Enumeration - 列舉法
Day25:Dynamic Programming(DP) - 動態規劃(上)
Day26:Dynamic Programming(DP) - 動態規劃(下)
Day27:Backtracking -回溯法
Day28:八皇后問題- 8 Queens Puzzle
Day29:刷起來! leetcode
Day30:完賽心得


下一篇
Day2: 什麼是演算法?— Algorithms
系列文
每日攝取一點資料結構和演算法30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言